foreach man: [['misc_conv.3', []],
              ['pam.3', []],
              ['pam_acct_mgmt.3', []],
              ['pam_authenticate.3', []],
              ['pam_chauthtok.3', []],
              ['pam_close_session.3', []],
              ['pam_conv.3', []],
              ['pam_end.3', []],
              ['pam_error.3', ['pam_verror.3']],
              ['pam_fail_delay.3', []],
              ['pam_get_authtok.3', ['pam_get_authtok_noverify.3', 'pam_get_authtok_verify.3']],
              ['pam_get_data.3', []],
              ['pam_get_item.3', []],
              ['pam_get_user.3', []],
              ['pam_getenv.3', []],
              ['pam_getenvlist.3', []],
              ['pam_info.3', ['pam_vinfo.3']],
              ['pam_misc_drop_env.3', []],
              ['pam_misc_paste_env.3', []],
              ['pam_misc_setenv.3', []],
              ['pam_open_session.3', []],
              ['pam_prompt.3', ['pam_vprompt.3']],
              ['pam_putenv.3', []],
              ['pam_set_data.3', []],
              ['pam_set_item.3', []],
              ['pam_setcred.3', []],
              ['pam_sm_acct_mgmt.3', []],
              ['pam_sm_authenticate.3', []],
              ['pam_sm_chauthtok.3', []],
              ['pam_sm_close_session.3', []],
              ['pam_sm_open_session.3', []],
              ['pam_sm_setcred.3', []],
              ['pam_start.3', []],
              ['pam_strerror.3', []],
              ['pam_syslog.3', ['pam_vsyslog.3']],
              ['pam_xauth_data.3', []],
              ['pam.conf.5', ['pam.d.5']],
              ['pam.8', ['PAM.8']],
             ]
  xml = man[0] + '.xml'

  run_command([prog_xmllint,
               '--nonet',
               '--noout',
               '--xinclude',
               '--relaxng', docbook_rng,
               xml],
              check: true)

  custom_target(man[0],
    input: xml,
    output: man,
    depends: custom_man_xsl,
    command: [prog_xsltproc,
              '-o', '@OUTPUT0@',
              '--nonet',
              '--xinclude',
              '--path', meson.current_source_dir(),
              stringparam_vendordir,
              stringparam_profileconditions,
              custom_man_xsl,
              '@INPUT@'],
    install: true,
    install_dir: mandir / 'man' + man[0].substring(-1),
    install_tag: 'man',
  )
endforeach
